package com.taxi.action;

import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.interceptor.ServletRequestAware;

import com.taxi.bean.EmpresaBean;
import com.taxi.bean.TipoDocDTO; 
import com.taxi.bean.VehiculoBean;
import com.taxi.service.EmpresaService;
import com.taxi.service.PaqueteBusinessDelegate; 
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class EmpresaAction extends ActionSupport implements ServletRequestAware{

private static final long serialVersionUID = 1L;
	
    private HttpServletRequest request; 
	private EmpresaService empresaservice = PaqueteBusinessDelegate.getEmpresaService();
	
	private String msg;
	private boolean success;

	
	private List<EmpresaBean> lstEmpresa;
	
	public void setServletRequest(HttpServletRequest request) {
		this.request=request;
	}
	
	
	//Registro de empresa
	public String registrarEmpresa() throws Exception {
		Map<String,Object> sesion = ActionContext.getContext().getSession();
		System.out.println("ENTRO AL REGISTRAR");
		
		//EmpresaBean bean = empresaservice.codigoAutogenerado();
		EmpresaBean empresa = new EmpresaBean();
		
	/*	if(bean.getCodigo()==null){
			bean.setCodigo("1");
		}
		else{
			empresa.setCodigo(bean.getCodigo());
		}*/
		System.out.println(Integer.parseInt(this.request.getParameter("ruc")));
		System.out.println(this.request.getParameter("nombre"));
		System.out.println(this.request.getParameter("distrito"));
		System.out.println(this.request.getParameter("direccion"));
		
		System.out.println(Integer.parseInt(this.request.getParameter("telefono")));
		System.out.println(Integer.parseInt(this.request.getParameter("nextel")));
		System.out.println(this.request.getParameter("tipoMovil"));
		System.out.println(this.request.getParameter("movil"));
		
		empresa.setRuc(Integer.parseInt(this.request.getParameter("ruc")));//////////////
		empresa.setNombre(this.request.getParameter("nombre"));//////////////
		empresa.setDistrito(this.request.getParameter("distrito"));///////////
		empresa.setDireccion(this.request.getParameter("direccion"));//////////
		
        empresa.setTelefono(Integer.parseInt(this.request.getParameter("telefono")));///////////
        empresa.setNextel(Integer.parseInt(this.request.getParameter("nextel")));///////////
        empresa.setTipoMovil(this.request.getParameter("tipoMovil"));//////////
        empresa.setMovil(this.request.getParameter("movil"));//////////
        
        //crear empresa

		try {
			empresaservice.registrarEmpresa(empresa);
			
			setSuccess(true);
			setMsg("Empresa registrado con exito");
		} catch (Exception e) {
			e.printStackTrace();
			setSuccess(false);
			setMsg("Error al registrar empresa");
		}
		
		 return SUCCESS;
	}
	
	
	public String cargarEmpresas(){
		
		try {
			lstEmpresa = empresaservice.GetComboEmpresa();
			setSuccess(true);	
		} catch (Exception e) {
			//setSuccess(false);
		}
		
		return SUCCESS;
		
	}
	
	//Actualizar empresa
	
	public String actualizarEmpresa() throws Exception {

		System.out.println("ENTRO AL Actualizar");
		 
		EmpresaBean empresa = new EmpresaBean();

		System.out.println(""+this.request.getParameter("codigo"));
		System.out.println(""+this.request.getParameter("ruc"));
		System.out.println(""+this.request.getParameter("nombre"));
		System.out.println(""+this.request.getParameter("distrito"));
		System.out.println(""+this.request.getParameter("direccion")); 
		
		empresa.setCodigo(Integer.parseInt(this.request.getParameter("codigo")));
		empresa.setRuc(Integer.parseInt(this.request.getParameter("ruc")));//////////////
		empresa.setNombre(this.request.getParameter("nombre"));//////////////
		empresa.setDistrito(this.request.getParameter("distrito"));///////////
		empresa.setDireccion(this.request.getParameter("direccion"));//////////
        empresa.setTelefono(Integer.parseInt(this.request.getParameter("telefono")));///////////
        empresa.setNextel(Integer.parseInt(this.request.getParameter("nextel")));///////////
        empresa.setTipoMovil(this.request.getParameter("tipoMovil"));//////////
        empresa.setMovil(this.request.getParameter("movil"));//////////
        
        
        //actualizar  empresa

		try {
			empresaservice.actualizarEmpresa(empresa);
			
			setSuccess(true);
			setMsg("Empresa Actualizada con exito");
		} catch (Exception e) {
			e.printStackTrace();
			setSuccess(false);
			setMsg("Error al actualizar empresa");
		}
		
		 return SUCCESS;
	}
	
	
	//Listado de Empresas
	public String listadoEmpresa() throws Exception {

		System.out.println("ENTRO AL Listado");
		 
		try {
			lstEmpresa = empresaservice.listaEmpresa();
			setSuccess(true); 

		} catch (Exception e) {
			e.printStackTrace();
			setSuccess(false);
			setMsg("Error al cargar Empresas");
		} 
		 return SUCCESS;
	}

	//Eliminar empresa
	public String eliminarEmpresa() throws Exception {

		System.out.println("ENTRO AL eliminar");
		
	//	EmpresaBean bean = empresaservice.codigoAutogenerado();
		EmpresaBean empresa = new EmpresaBean();

		empresa.setCodigo(Integer.parseInt(this.request.getParameter("codigo"))); ///Codigo se jala de una grilla
        
        //eliminar empresa

		try {
			empresaservice.eliminarEmpresa(empresa);
			
			setSuccess(true);
			setMsg("Empresa eliminada con exito");
		} catch (Exception e) {
			e.printStackTrace();
			setSuccess(false);
			setMsg("Error al eliminada Vehiculo");
		}
		 return SUCCESS;
	}


	public EmpresaService getEmpresaservice() {
		return empresaservice;
	}

	public void setEmpresaservice(EmpresaService empresaservice) {
		this.empresaservice = empresaservice;
	}

	public String getMsg() {
		return msg;
	}

	public void setMsg(String msg) {
		this.msg = msg;
	}

	public boolean isSuccess() {
		return success;
	}

	public void setSuccess(boolean success) {
		this.success = success;
	}

	public List<EmpresaBean> getLstEmpresa() {
		return lstEmpresa;
	}

	public void setLstEmpresa(List<EmpresaBean> lstEmpresa) {
		this.lstEmpresa = lstEmpresa;
	}


	
	
}
